01-ALB개념이해

ALB 개념 이해

Load Balancer란?

쉬운 비유

방문객들 → 안내 직원 → 줄이 짧은 놀이기구로 안내
사용자들 → Load Balancer → 부하가 적은 서버로 연결

현재 vs 목표 구조

현재 (Week3)

사용자 → Web서버(1대) → WAS서버(1대)

문제점: 서버 1대 고장나면 모든 사용자 접속 불가

목표 (Week3.5)

        ┌─ Web서버1 (2a) ┐
사용자 → ALB ┤              ├ → WAS서버들
        └─ Web서버2 (2c) ┘

장점: 서버 1대 고장나도 다른 서버로 자동 연결

ALB의 똑똑한 기능들

1. Health Check (건강 체크)

ALB: "서버야, 살아있니?"
서버1: "응, 정상이야!" → 트래픽 보냄
서버2: "어... 고장났어..." → 트래픽 안 보냄

2. 부하 분산 방식

Round Robin (순서대로):
사용자1 → 서버1
사용자2 → 서버2  
사용자3 → 서버1
사용자4 → 서버2

3. 고가용성

가용영역 2a 고장 시:
모든 트래픽 → 가용영역 2c로 자동 전환

ALB 구성 요소

Target Group (타겟 그룹)

Listener (리스너)

Health Check

실습에서 만들 구조

ALB 설정

ALB 이름: webapp-alb
리스너: HTTP 포트 80
타겟 그룹: webapp-web-targets
Health Check: GET /webapp/

연결될 서버들

현재: 
- Web서버1 (ap-northeast-2a)

추가 예정:
- Web서버2 (ap-northeast-2c)

ALB vs 다른 로드밸런서

Application Load Balancer (ALB)

Network Load Balancer (NLB)

Classic Load Balancer (CLB)

Week3에서 확인해야 할 것들

현재 Web 서버 동작 확인

정적 파일 접근 테스트:

http://Web서버-Public-IP/webapp/index.html
→ Apache에서 직접 처리되는 정적 페이지

동적 파일 접근 테스트:

http://Web서버-Public-IP/webapp/
→ Tomcat으로 프록시되는 JSP 페이지

두 URL 모두 정상 동작해야 ALB Health Check가 성공합니다.

WAS 서버 동작 확인

Web 서버에 SSH 접속해서 WAS 서버 연결 테스트:

ssh -i webapp-keypair.pem ec2-user@Web서버-Public-IP

# WAS 서버로 요청 테스트
curl http://WAS서버-Private-IP:8080/webapp/

# JSP 페이지가 정상 응답하는지 확인

실습 전 준비사항

1. 기존 서버 정보 기록

다음 정보들을 메모장에 기록해두세요:

Web 서버:

WAS 서버:

2. 현재 아키텍처 동작 재확인

ALB를 만들기 전에 Week3 아키텍처가 완전히 동작하는지 다시 한번 확인:

  1. Apache 정적 파일 서비스: http://Web서버-Public-IP/webapp/index.html
  2. Apache → Tomcat 프록시: http://Web서버-Public-IP/webapp/
  3. Tomcat → RDS 연결: 사용자 등록/조회 기능 동작

완료 체크리스트

다음 개념을 이해했는지 확인:

다음 단계 미리보기

  1. Target Group 만들기: 기존 Web 서버를 그룹으로 묶기
  2. ALB 생성하기: 실제 로드밸런서 만들기
  3. Health Check 설정: 서버 상태 확인 최적화
  4. 동작 테스트: ALB를 통한 접속 확인

ALB 개념 이해 완료 이제 실제로 만들어봅시다.

다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/02-Application-Load-Balancer/02-Target-Group생성


관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/01-Multi-AZ-네트워크확장/03-라우팅테이블구성, AWS EDU/Archive/조선대학교 AWS 멘토링/Edu Architecture/README